Using a bluetooth capable mobile phone to access a remote network

ABSTRACT

In one example, a Bluetooth enabled mobile device discovers the Bluetooth profile capability of a plurality of mobile phones and stores the profile information in a database. Thereafter, when access to a remote network such as an Internet Protocol (IP) network is necessitated by an event, the Bluetooth enabled mobile device can establish a Bluetooth connection with an available mobile phone according to a comparison of the event to the stored profile information for that mobile phone. The Bluetooth enabled mobile device can then establish a transport layer connection that extends over the established Bluetooth connection and a wireless telecommunications network associated with the available phone and exchange data with a remote network using the established transport layer connection.

This application is a continuation of U.S. application Ser. No. 12/752,911 filed on Apr. 1, 2010, entitled: USING A BLUETOOTH CAPABLE MOBILE PHONE TO ACCESS A REMOTE NETWORK, which is a non-provisional of U.S. Provisional Application No. 61/173,059 filed on Apr. 27, 2009, entitled: AUTOMATIC GAIN CONTROL IN A PERSONAL NAVIGATION DEVICE which is herein incorporated by reference in its entirety.

COPYRIGHT NOTICE

©2011 Airbiquity, Inc. A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 37 CFR §1.71(d).

BACKGROUND OF THE INVENTION

Navigation devices (including Personal Navigation Devices (PNDs) and in-car electronic devices) output information to a user based on a location of the navigation devices. These navigation devices generally utilize the Global Positioning System (GPS) to determine the location, and then use speakers and/or displays to output map information, directions, etc.

To continue expanding and/or improving the features provided by navigation devices, there is a need to maximize opportunities for navigation devices to obtain network access, such as to the Internet. The disclosure that follows solves this and other problems.

SUMMARY OF THE INVENTION

The following is a summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not intended to identify key/critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later.

In one example, a Bluetooth enabled mobile device discovers the Bluetooth profile capability of a plurality of mobile phones and stores the profile information in a database. Thereafter, when access to a remote network such as an Internet Protocol (IP) network is necessitated by an event, the Bluetooth enabled mobile device can establish a Bluetooth connection with an available mobile phone according to a comparison of the event to the stored profile information for that mobile phone. The Bluetooth enabled mobile device can then establish a transport layer connection that extends over the established Bluetooth connection and a wireless telecommunications network associated with the available phone and exchange data with a remote network using the established transport layer connection. Additional aspects and advantages of this invention will be apparent from the following detailed description of preferred embodiments, which proceeds with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system for accessing a remote server with a navigation device using a Bluetooth capable mobile phone.

FIG. 2 illustrates the navigation device shown in FIG. 1 as well as interactions between the navigation device and other devices.

FIG. 3 illustrates how the navigation device shown in FIGS. 1 and 2 accesses the remote server.

FIG. 4 illustrates a system for accessing a remote server with a Bluetooth capable device using a mobile phone.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

FIG. 1 illustrates a system for accessing a remote server with a navigation device using a Bluetooth capable mobile phone.

The system 100 includes a navigation device 5 configured to establish a Bluetooth connection 2 with an available one of the mobile phones 1A-C according to stored profile information for that mobile phone. The navigation device 5 then establishes a transport layer connection to the server 15 (illustrated by the dashed line 30) over the established Bluetooth connection 2, which provides the navigation device 5 with a communication path to the server 15.

In order to maximize the opportunities for the navigation device 5 to communicate with the remote server 15, it is preferable for the navigation device 5 to utilize a mobile phone without regard to whether the mobile phone supports a packet data service connection over its wireless telecommunication network. For example, the illustrated mobile phone 1A does not support a packet data service connection (or, the mobile phone 1A subscriber plan does not include packet data services over the wireless telecommunications network 26), yet the mobile phone 1A can be utilized by the navigation device 5 for Internet Protocol network access, as will be described in the next paragraph.

For this and other reasons, upload communications sent over the Bluetooth connection 2 can be modulated by the In-Band Signaling (IBS) modem 9 for transmission across a voice channel type transport of the wireless telecommunication network. The IBS modem 9 modulates received digital data into audio frequency tones. These frequency tones are selected to synthesize speech so that the frequency tones will pass with minimal attenuation or corruption through a vocoder 21 of the available one of the mobile phones 1A-C and any vocoders 22 in the wireless telecommunication network 26 (other networks between network 26 and the server 15 could operate vocoders as well). Before encoding and modulation into audio tones, the digital data preferably is formatted into one or more packets. A packet formatter may prepend, for example, a header and a sync pattern prior to the payload. Error correction bits, checksums and other enhancements to the packet may be added as well. The navigation device 5 can then transmit the IBS modulated communications 29 over a Bluetooth connection for voice data, to be forwarded over a voice channel of the wireless telecommunications network, through any intervening networks such as the IP network 27, received and demodulated by the IBS modem 19 (recovered into a bitstream), and then finally processed by the server 15. Downloads from the server 15 to the navigation device 5 over the dashed line 30 are likewise modulated by the IBS modem 19 and recovered by the IBS modem 9.

Through this communication exchange 29 over the transport layer connection 30, applications on the navigation device 5 that are part of the navigation system can obtain location-based information in real time can obtain real time. For example, the navigation device 5 could obtain real-time information about traffic accidents near a current location determined via GPS. The navigation device 5 can also download updates 11 to navigation database 6, e.g. updating a stored map to information about a new route.

Furthermore, any other type of application on the navigation device 5 can also be provided with remotely stored data over the Bluetooth connection 2 and through the wireless telecommunications network 26. This allows the feature set of the navigation device 5 to be expanded to other applications not necessarily related to navigation. For example, an application on the navigation device 5 could be used to obtain stock quotes or other information available via the Internet over the Bluetooth connection 2. It should be understood it is possible for any type of application operating on the navigation device 5 to obtain access to any type of network over the Bluetooth connection 2 as well.

It should be apparent that these real-time information and network services described above can be accessed by the navigation device 5 without burdening the navigation device 5 with expensive satellite transceivers or other specialized transceivers that are generally more expensive and less compact than Bluetooth transceivers. Furthermore, it should be apparent that the operation of the navigation device 5 is not limited to mobile phones that support packet data service connections over their wireless telecommunication networks (such mobile phones are generally expensive to purchase and operate and in any case are not yet used ubiquitously).

It should be understood that communication between the navigation device 5 and the server 15 can bypass the IBS 9 and 19 in certain circumstances. For example, certain Bluetooth capable mobile phones support a high bandwidth packet data service connection over the wireless telecommunications network 26. When such a mobile phone is available, as will be described in detail later, the navigation device 5 establishes the Bluetooth connection 2 with different characteristics so that data sent to the mobile phone triggers utilization of a packet data service connection. The high bandwidth provided by a packet data service is particularly useful if Internet access (such as web mail access) is needed for the navigation device 5.

What follows in the next three paragraphs is a description of the system 100 including a high level overview of the operations of the navigation device 5 having the software 8. Thereafter, with reference to FIGS. 2-3, a more detailed example of the navigation device 5 is provided.

Referring still to FIG. 1, the navigation device 5 learns the configurations X-Z of a plurality of mobile phones 1A-C that the navigation device 5 pairs with over time. The configurations X-Z correspond to the respective software and/or hardware capabilities of the mobile phones 1A-C including which Bluetooth profiles are supported by each mobile phone 1A-C. A Bluetooth profile is a wireless interface specification for Bluetooth-based communication that rides on top of the Bluetooth Core Specification. The configurations X-Z can indicate other software and/or hardware capabilities of the mobile phones 1A-C such as whether the mobile phone supports a packet data service connection over its wireless telecommunications network.

The software 8 stores this learned configuration information as it is obtained for subsequent analysis upon detecting a trigger event. A trigger event could be initiated by an application on the navigation device 5 (such as when a program operating on the navigation device 5 requests data available remotely) or initiated by from a user interface of the navigation device 5 (such as when a user presses a button on the navigation device 5).

When a trigger event is detected, the software 8 identifies an available mobile phone and classifies the trigger event by type. The software 8 then establishes a Bluetooth connection 2 with the available one of the mobile phones 1A-C. The Bluetooth connection 2 utilizes a profile N that is selected based on the known configuration X-Z of the available one of the mobile phones and the classified event type. The profile N can be a profile for transmitting voice data when the communications will be modulated into the frequency tones, as will be described later in greater detail. This profile N will be a different Bluetooth profile when the communications are packet data.

Transmission over the transport layer connection 30 can be tuned using the principles described in U.S. patent application Ser. No. 12/752,999; “AUTOMATIC GAIN CONTROL IN A PERSONAL NAVIGATION DEVICE”, which is herein incorporated by reference in its entirety for all purposes. It should be understood that such tuning is entirely optional.

FIG. 2 illustrates the navigation device shown in FIG. 1 as well as interactions between the navigation device and other devices.

The navigation device 5 includes a table 38 to map learned mobile phone-to-Bluetooth profile associations. The table 38 is stored in a memory of the navigation device 5 and includes an entry for each mobile phone the navigation device 5 has paired with. Each entry identifies the respective mobile phone using any identifier for the mobile phone, such as a Bluetooth client identifier A-C identified during pairing 41. Each entry in the table 38 also lists Bluetooth profiles, e.g. J, K, L or M, supported by the corresponding mobile phone as discovered during a Service Discovery Protocol (SDP) 43 or similar exchange to obtain the profile information 44. Each entry in the table 38 can also indicate whether or not the corresponding mobile phone supports a packet data service connection over its wireless telecommunications network, which could be determined by the navigation device 5 using any known method including, but not limited to, a trial and error type learning process.

Upon detecting a trigger event, the software 8 compares the trigger event to the table 39 that maps known trigger events to known Bluetooth profiles. The entries in the table 39 can be predetermined prior to the navigation device 5 pairing with any mobile phones, and possibly updated from time to time as initiated by the server 15 or the navigation device 5.

Also, the profile(s) associated with each event can be ranked in table 39 according to correspondence with the trigger event. For example, for events requiring a relatively large file size transfer, e.g. downloading a picture, a primary profile could include a Basic Imaging Profile (BIP). A secondary profile could include a Hands-Free Profile (HFP), which would enable the picture to be downloaded in the form of synthesized speech and then recovered via demodulation. For events requiring a relatively small file size transfer, e.g. flight information, a primary profile could include any Bluetooth profile for sending text messages. A secondary profile could include the HFP, which would enable the flight information to be downloaded in the form of synthesized speech and then recovered via demodulation. The ranking can be predetermined prior to the navigation device pairing with any mobile phones, and subsequently adjusted at any time.

Several factors may be used to rank known Bluetooth profiles for each event type. Such factors include the cost of in-band communications versus packet data communications, application requirements such as whether the trigger event is a high or low bandwidth application, or any other factors. The ranking could be dynamically adjusted to take into account a user's preference, for example, if the user indicates that a connection is too slow the rankings could be adjusted. Also, certain mobile phones store manufacturer specifications for user experience, which could be accessed by the navigation device 5 and also used to dynamically adjust the rankings depending on which mobile phone is currently utilized.

The comparison of the trigger event to the table 39 identifies a ranked subset of the Bluetooth profiles. These identified ranked profiles are then compared to the table 38 entry that corresponds to the available phone. The highest ranked profile existing in the relevant table 38 entry is used to establish the Bluetooth connection in process 45.

It should be understood that certain ones of supported Bluetooth profiles discovered using the SDP 43 may be excluded from the comparison described in the previous paragraph based on whether the corresponding mobile phone supports a packet data service connection (the far right column of the table). For example, if the mobile phone does not support a packet data service connection, then certain Bluetooth profiles, e.g. Basic Imaging Profile (BIP), may be excluded from the comparison even if the mobile phone supports this Bluetooth profile. This is to prevent the navigation device 5 from sending data to the mobile phone 31 in a format that the mobile phone 31 cannot communicate over its wireless telecommunication network.

Having established the Bluetooth connection in process 45, the navigation device 5 can communicate with the remote server 15 in process 47. As discussed previously, uploads 50A and downloads 50B can be modulated as frequency tones synthesizing speech to pass over a voice channel in the wireless telecommunications network using the IBS modems 9 and 19. If sent over a Bluetooth connection for voice data as discussed above, these uploads 50A and downloads 50B will be passed through by the mobile phone 31 regardless of whether the mobile phone 31 is aware that the uploads 50A and downloads SOB do not represent actual speech. If the mobile phone 31 is capable of establishing a packet data service connection over its telecommunication network, as discussed previously, such modulation may be bypassed.

In either case, a transport layer connection is established between the navigation device 5 and the remote server 15. Underlying this transport layer connection is a plurality of lower layer connections, for example the Bluetooth connection between the navigation device 5 and the mobile phone 31, and one or more lower layer connections to connect the mobile phone 31 the remote server 15. The application layer rides on top of this transport layer connection.

FIG. 3 illustrates how the navigation device shown in FIGS. 1 and 2 communicates with the remote server.

In block 301, the navigation device 5 pairs with a mobile phone and discovers which Bluetooth profiles are supported by the mobile phone. The navigation device 5 adds a table entry mapping the discovered Bluetooth profiles to the mobile phone in block 302.

In block 303, the navigation device 5 observes a trigger event and identifies an available phone. In block 304, the navigation device 5 filters Bluetooth profiles associated with the available mobile phone in the table according to the trigger event. This process 304 may or may not include comparing the associated profiles to a ranked listing of Bluetooth profiles for the type of trigger event. The process 304 may or may not include determining whether the available mobile phone supports packet data service connections and filtering the associated profiles accordingly.

In block 305, the navigation device 5 establishes a Bluetooth connection with the available mobile phone utilizing one of the filtered Bluetooth profiles. In block 306, the navigation device 5 establishes a transport layer connection over the established Bluetooth connection and a wireless telecommunications network associated with the identified available mobile phone. In block 307, the navigation device exchanges communications with a remote network using the transport layer connection.

As discussed previously, in one example the transport layer connection can be selected from at least a voice channel and a packet data connection to maximize transmission opportunities with a wide variety of mobile phones. If a voice channel is selected for the transport layer connection, an in-band signaling modem is used for the communication exchange.

FIG. 4 illustrates a system for accessing a remote server with a Bluetooth capable device using a mobile phone.

The principles discussed previously can be applied in other examples besides the example discussed with reference to FIGS. 1-3. For example, the example system 400 includes a Bluetooth capable device 55 encoded with software 58 that is configured to establish a Bluetooth connection 52 with an available one of the mobile phones 51A-C. The established Bluetooth connection 52 provides the device 55 with a communication path to the remote network 57, as illustrated by the dashed line 60.

The Bluetooth capable device 55 can be any type of device and in any case is not limited to a device configured for navigation. For example, the device 55 can be a Telematic Control Unit (TCU), a Hands Free Kit (HFK), an in-dash car entertainment system (regardless of whether the in-dash entertainment system has any navigation capability), etc. The principles described herein can be applied to Bluetooth capable devices regardless of whether such devices include an IBS.

The transport layer connection 60 can be any type of transport layer connection and in any case is not limited to an in-band connection. For example, the transport layer connection 60 can any known transport used in any type of network such as a circuit switched network or a packet switched network. The transport layer connection 60 can extend through a gateway operating between the wireless telecommunications network 56 and another network 57, as shown in the figure. The transport layer connection 60 may not extend through such a gateway in other examples but may extend only to a device operating within the wireless communication network 56 of the mobile phone. The transport layer connection 60 could even extend from the device 55, through the mobile phone 51A, to another Bluetooth capable device in communication with the mobile phone 51A.

As indicated in the previous two paragraphs, the transport layer connection can be established with any type of network device and need not terminate on an in-band signaling server. The principles described herein can be applied regardless of whether the system 400 includes an in-band server (or any other device containing an IBS modem for that matter).

As indicated by the variable N, the Bluetooth connection 52 can be established using any profile that is supported by the available mobile phone. As previously discussed, mobile phones often contain more than one Bluetooth profile and in this case the Bluetooth profile N used to establish the Bluetooth connection N is preferably established according to the transport layer connection to be used (which as previously discussed can be indicated by the trigger event type). For example, if the transport layer connection is a packet data transport (including transports associated with circuit switched networks), then N can be, for example, Dial-Up Networking (DUN). If the transport layer connection is an Short Message Service (SMS) transport, then N can be, for example, DUN, HFP, Serial Port Profile (SPP), Subscriber Identity Module (SIM), SIM Access Profile (SAP), or Phone Book Access Profile (PBAP). If the transport layer connection is a transport used in Bluetooth area networks (between the mobile phone 51A and another Bluetooth device), then N can be, for example, Personal Area Network (PAN). These examples are intended to be illustrative, not exhaustive.

It will be obvious to those having skill in the art that many changes may be made to the details of the above-described embodiments without departing from the underlying principles of the invention. The scope of the present invention should, therefore, be determined only by the following claims.

Most of the equipment discussed above comprises hardware and associated software. For example, the typical navigation device is likely to include one or more processors and software executable on those processors to carry out the operations described. We use the term software herein in its commonly understood sense to refer to programs or routines (subroutines, objects, plug-ins, etc.), as well as data, usable by a machine or processor. As is well known, computer programs generally comprise instructions that are stored in machine-readable or computer-readable storage media. Some embodiments of the present invention may include executable programs or instructions that are stored in machine-readable or computer-readable storage media, such as a digital memory. We do not imply that a “computer” in the conventional sense is required in any particular embodiment. For example, various processors, embedded or otherwise, may be used in equipment such as the components described herein.

Memory for storing software again is well known. In some embodiments, memory associated with a given processor may be stored in the same physical device as the processor (“on-board” memory); for example, RAM or FLASH memory disposed within an integrated circuit microprocessor or the like. In other examples, the memory comprises an independent device, such as an external disk drive, storage array, or portable FLASH key fob. In such cases, the memory becomes “associated” with the digital processor when the two are operatively coupled together, or in communication with each other, for example by an I/O port, network connection, etc. such that the processor can read a file stored on the memory. Associated memory may be “read only” by design (ROM) or by virtue of permission settings, or not. Other examples include but are not limited to WORM, EPROM, EEPROM, FLASH, etc. Those technologies often are implemented in solid state semiconductor devices. Other memories may comprise moving parts, such as a conventional rotating disk drive. All such memories are “machine readable” or “computer-readable” and may be used to store executable instructions for implementing the functions described herein.

A “software product” refers to a memory device in which a series of executable instructions are stored in a machine-readable form so that a suitable machine or processor, with appropriate access to the software product, can execute the instructions to carry out a process implemented by the instructions. Software products are sometimes used to distribute software. Any type of machine-readable memory, including without limitation those summarized above, may be used to make a software product. That said, it is also known that software can be distributed via electronic transmission (“download”), in which case there typically will be a corresponding software product at the transmitting end of the transmission, or the receiving end, or both.

Having described and illustrated the principles of the invention in a preferred embodiment thereof, it should be apparent that the invention may be modified in arrangement and detail without departing from such principles. We claim all modifications and variations coming within the spirit and scope of the following claims. 

1. A Bluetooth capable device encoded with instructions that, if executed, result in: pairing with a mobile phone and discovering which Bluetooth profiles are supported by the mobile phone; mapping an identifier for the mobile phone to the supported Bluetooth profiles in a memory of the Bluetooth capable device; establishing a Bluetooth connection with the mobile phone utilizing one of the Bluetooth profiles from the mapping; establishing a transport layer connection that extends over the Bluetooth connection and a wireless network corresponding to the mobile phone; and receiving or transmitting communications from the Bluetooth capable device to a remote network over the established transport layer connection.
 2. The Bluetooth capable device of claim 1, wherein the instructions, if executed, result in: establishing the Bluetooth connection using a Bluetooth profile for voice data according to whether the mobile phone is capable of establishing a packet data type transport connection over the wireless network.
 3. The Bluetooth capable device of claim 1, wherein the instructions, if executed, result in: whenever the Bluetooth capable device is paired with a new mobile phone, discovering which Bluetooth profiles are supported by the new mobile phone; and adding a new entry in the Bluetooth capable device memory for the new mobile phone, the new entry mapping an identifier for the new mobile phone with the discovered Bluetooth profiles associated with the new mobile phone.
 4. The Bluetooth capable device of claim 3, wherein the instructions, if executed, result in: establishing a Bluetooth connection with a currently available one of the mobile phones, the Bluetooth connection established by selecting from Bluetooth profiles associated with the currently available mobile phone in the Bluetooth capable device memory; establishing the Bluetooth connection according to the selected Bluetooth profile; and uploading or downloading information to or from a remote server using the established Bluetooth connection.
 5. The Bluetooth capable device of claim 2, wherein the instructions, if executed, result in: determining whether the mobile phone supports a packet data service connection over the wireless network; and filtering the Bluetooth profiles that are mapped in the Bluetooth capable device memory according to the determination.
 6. A method, comprising: pairing a Bluetooth capable device with a mobile phone and discovering which Bluetooth profiles are supported by the mobile phone; mapping an identifier for the mobile phone to the supported Bluetooth profiles in a memory of the Bluetooth capable device; establishing a Bluetooth connection with the mobile phone utilizing one of the Bluetooth profiles from the mapping; establishing a transport layer connection that extends over the Bluetooth connection and a wireless network corresponding to the mobile phone; and receiving or transmitting communications from the Bluetooth capable device to a remote network over the established transport layer connection.
 7. The method of claim 6, further comprising: establishing the Bluetooth connection using a Bluetooth profile for voice data according to whether the mobile phone is capable of establishing a packet data type transport connection over the wireless network.
 8. The method of claim 6, further comprising: whenever the Bluetooth capable device is paired with a new mobile phone, discovering which Bluetooth profiles are supported by the new mobile phone; and adding a new entry in the Bluetooth capable device memory for the new mobile phone, the new entry mapping an identifier for the new mobile phone with the discovered Bluetooth profiles associated with the new mobile phone.
 9. The method of claim 8, further comprising: establishing a Bluetooth connection with a currently available one of the mobile phones, the Bluetooth connection established by selecting from Bluetooth profiles associated with the currently available mobile phone in the Bluetooth capable device memory; establishing the Bluetooth connection according to the selected Bluetooth profile; and uploading or downloading information to or from a remote server using the established Bluetooth connection.
 10. The method of claim 6, further comprising: determining whether the mobile phone supports a packet data service connection over the wireless network; and filtering the Bluetooth profiles that are mapped in the Bluetooth capable device memory according to the determination. 